package com.example.game_community.controller;

import com.example.game_community.entity.Comment;
import com.example.game_community.service.CommentService;
import com.example.game_community.utils.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * 游戏社区评论控制器
 * <p>负责处理评论相关请求，包括创建回复、获取评论列表等操作</p>
 *
 * @author 社区开发团队
 * @version 1.0
 * @since 2024-01-01
 */
@RestController
@RequestMapping("/comments")
public class CommentController {


    @Autowired
    CommentService commentService;

    /**
     * 创建回复评论
     *
     * @param parentId 被回复的父级评论ID
     * @param comment  包含回复内容的评论对象
     * @return 包含创建结果的响应实体
     * @apiNote 需要校验父级评论存在性及用户权限
     */
    @PostMapping("/{parentId}/replies")
    public Result<Comment> createReplies(
            @PathVariable Long parentId,
            @RequestBody Comment comment
    ) {
        // 这里实现获取回复列表逻辑
        return commentService.createReply(parentId, comment);
    }

    //获取详情页的回复和评论
    @GetMapping("/posts={parentId}")
    public Result<List<Comment>> getPostsReplies(@PathVariable Long parentId) {
        return commentService.getCommentTree(parentId);
    }

}
